package lzzy.edu.cn.demothymeleaf.controller;

import lzzy.edu.cn.demothymeleaf.service.Task; // 导入自定义服务
import org.springframework.amqp.rabbit.core.RabbitTemplate; // 导入 RabbitTemplate 类，用于发送消息
import org.springframework.beans.factory.annotation.Autowired; // 导入自动注入注解
import org.springframework.web.bind.annotation.GetMapping; // 导入 GET 请求映射注解
import org.springframework.web.bind.annotation.RestController; // 导入 REST 控制器注解

@RestController // 声明该类为 REST 控制器，自动将返回的字符串作为响应体
public class RabbitController {

    @Autowired // 自动注入 RabbitTemplate，负责与 RabbitMQ 进行交互
    private RabbitTemplate rabbitTemplate;

    @Autowired // 自动注入 Task 服务，用于处理任务
    private Task task;

    // 定义处理发送消息的 GET 请求
    @GetMapping("/send")
    public void send() {
        // 将消息发送到指定的 RabbitMQ 广播交换机
        rabbitTemplate.convertAndSend("fanout_exchange", "", "这是一条广播信息");
    }

    // 定义处理任务的 GET 请求
    @GetMapping("/task")
    public String task() throws InterruptedException {
        task.synTask(); // 调用 Task 服务中的同步任务
        return "陈国飞"; // 返回一个字符串作为响应
    }
}
